

jQuery(document).ready( function($) {
        var self,inf;

           var dim = build_viewport();
          jQuery('#lesson_admin_panel').css('height',dim.hei + 'px');
    jQuery("select#admkurselect [value='-1']").attr("selected", "selected");
      jQuery('select#admkurselect').change(function(){
          adm_main('0');
      });
           jQuery('#lesson_admin_menu').css({'height':dim.hei,'width':220 + 'px'});
    jQuery('#lesson_main_panel').css({'height':dim.hei,'width': (dim.wid - 250) + 'px'});
    jQuery("select#selgr [value='-1']").attr("selected", "selected");
    jQuery('#butactgru').attr('disabled',false).html('Активировать группу');
    jQuery('select#selgr').change(function(){
        if(jQuery('#selgr').val()!='-1'){
            if(jQuery('#butactgru').attr('disabled')){
            if(confirm('Закрыть текущую сессию?')){
            lesson_closer();
         jQuery('#butactgru').attr('disabled',false).html('Активировать группу');
        }
       }
        }else{jQuery('#butactgru').attr('disabled',false).html('Активировать группу');}

     });
    
    jQuery('.Expand').live('click', function() {
   jQuery(this).parent().hasClass('ExpandOpen') ? jQuery(this).parent().toggleClass('ExpandClosed') : jQuery(this).parent().toggleClass('ExpandOpen');
            var ch = jQuery("#u" + jQuery(this).parent().attr("id"));
            if (ch.length) {ch.slideToggle("slow");
            }
        });

    jQuery('.idnum').live('click',function(){
         self = jQuery(this);
        if(self.hasClass('selres')){
        self.removeClass('selres');
         close_toolbox();
        }else{
        jQuery('.selres').removeClass('selres');
        self.addClass('selres');
        show_toolbox();
        }

    });

    jQuery('.mar').live('click',function(){
        self = jQuery(this);
        if(self.hasClass('selrow')){
        self.removeClass('selrow').find('img').attr('src','http://webuniver/wp-content/plugins/courses/style/images/upel_img/fazel.png');
        }else{
        jQuery('.selrow').removeClass('selrow').find('img').attr('src','http://webuniver/wp-content/plugins/courses/style/images/upel_img/fazel.png');
        self.addClass('selrow').find('img').attr('src','http://webuniver/wp-content/plugins/courses/style/images/upel_img/fakra.png');
        show_marshrut();
        }
    });

        jQuery('.marnod').live('click',function(){
          self = jQuery(this);
        if(self.hasClass('selnod')){
        self.removeClass('selnod');
         close_toolbox();
        }else{
        jQuery('.selnod').removeClass('selnod');
        self.addClass('selnod');
          inf = self.parent().find('.nodinfo').html();
            jQuery('#paninfo_body').html(inf);
          show_info();
        }
                    });
    //todo передачу номера курса
    //adm_main('3');
});


function adm_main(mod){
         switch (mod){
         case '0':
              if(!jQuery('#butactgru').attr('disabled')){
             if(confirm('Закрыть текущую сессию?')){
            lesson_closer();
         jQuery('#butactgru').attr('disabled',false).html('Активировать группу');

             adm_main('1');

        }else{return false;
        }
              }else{return false;}

      break;
     case '1':
    var lsnlnk,comobj,tree,htinf='',kur;
          kur = jQuery('select#admkurselect :selected').val();

    lsnlnk = base_url + '/?aj=1&plg=lsn&op=usrkur&kur='+ kur;
    jQuery.getJSON(lsnlnk,function(answer){

        for(var i=0;i<answer.length;i++){
                  comobj  = answer[i];
                     for (var comkey in comobj){

              switch (comkey){
               case 'nam':
                   htinf += '<span><b>'+ comobj['nam'] +'</b></span>';
                   htinf +='<blockquote>' + comobj['desc'] + '</blockquote>';
                   jQuery('#class_info').append(htinf);

             break;
             case 'cont':
                   var nod,ch;
                    tree = eval(comobj['cont']);
                      jQuery('#lesson_admin_menu').html('<div id="m-1"></div>');
                      var ul = jQuery('<ul id="um-1" class="Container IsRoot"></ul>');
                      ul = createTree(tree, ul, 'm');

                 jQuery('#m-1').append(ul);
                  jQuery('.Expand').each(function(){
             jQuery(this).parent().hasClass('ExpandOpen') ? jQuery(this).parent().toggleClass('ExpandClosed') : jQuery(this).parent().toggleClass('ExpandOpen');
                nod = jQuery(this).parent().attr("id");
                 ch = jQuery("#u" + nod);
                     if (ch.length>0 && nod.length>4 ) {ch.slideToggle("slow");}
                  });   
             load_grups();
             break;
              }
            }
         }

        });
         break;
         }
}


function createTree(ar, ul, prf) {
        var txt,nar,adr,lesar,rawar,newUl,tx,dar;

        for (var k = 0; k < ar.length; k++) {
            var trobj = ar[k];

         //создаем узел‚ li
            var lis = jQuery('<li class="Node ExpandLeaf IsLast"><div class="Expand"></div><div class="Content"><div class="nodinfo"></div><div class="noddata"></div><div class="nodlnk"></div></div></li>');
            if (k == (ar.length - 1))lis.addClass("IsLast");
         for (var trkey in trobj) {
                switch (trkey) {
                    case "children":

                            if(trobj['children']!==null){
                        lis.removeClass('ExpandLeaf').addClass('ExpandOpen');

                        newUl = jQuery('<ul id="u' + prf + trobj['i'] + '" class="Container"></ul>');
                        createTree(trobj[trkey], newUl, prf);
                        lis.append(newUl);
                            }
                        break;

                    case "i":
                        lis.attr('id', prf + trobj[trkey]);
                        break;

                    case "name":
                        adr = trobj['i'];
                        txt = trobj['name'];

                 tx = '<span id="sp' + prf + adr + '" class="Nod_text';
                            dar = adr.split('c'); //Выясняем на каком уровне находится узел
                 if(dar.length == 3){ // если это уровень маршрута, то добавляем класс
                      tx += ' marnod';
                     lis.attr('idn',trobj['lesid']);
                    }
                    tx +='">' + txt + '</span>&nbsp;&nbsp;';
                        lis.find('.Content').prepend(tx)


                        break;

                        case "filename":

                            adr = trobj['i'];
                                nar = trobj['filename'].split('/');
                                var im = '<span class="sign"><img class="sigof" src="' + base_url + '/wp-content/plugins/courses/style/images/upel_img/fazel.png"></span>';
                                txt = '<a href ="#" onclick="javascript:show_file(\'1\',this);">'+im + '<span class="filnam">'+nar[1] + '</span></a>';

                            lis.find('.Content').prepend('<span id="sp' + prf + adr + '" class="Nod_text">' + txt + '</span>&nbsp;&nbsp;'+ edtool);
                        break;

                 case "node":
                       //lis.find('.Content').find('.noddata').html(trobj['node']);

                     rawar= show_user_lesson(trobj['node']);
                       lesar = eval(rawar);
                       lis.removeClass('ExpandLeaf').addClass('ExpandOpen');
                       newUl = jQuery('<ul id="u' + prf + trobj['i'] + '" class="Container"></ul>');
                       createTree(lesar, newUl, prf);
                       lis.append(newUl);

                break;

                case "info":
                    lis.find('.Content').find('.nodinfo').html(trobj['info']);
                     //trobj['info']='';
                   break;
                case "lnk":
                     lis.find('.Content').find('.nodlnk').html(trobj['lnk']);
                break;

                    default:
                        break;
                }
              }
            ul.append(lis);
            if (lis.parent().children('li').length > 1)lis.prev('li').removeClass('IsLast');
        }
        return ul;
}


function load_grups(){
 var kur;
    kur = jQuery('select#admkurselect :selected').val();
    if(kur=='-1'){
      alert("Выберите курс");
    }else{
        jQuery.ajax({
            url: base_url + '/?aj=1&plg=lsn&op=logr&kur='+kur,
            success:function(resp){
                jQuery('select#selgr').html(resp);
            }
        });
    }
}
function show_user_lesson(str){
    var strar,uprar,jsnstr='';
    strar = str.split('##');

    for (var i=0;i<strar.length;i++){
        uprar = strar[i].split('@@');
           jsnstr += ',{"i":"' + uprar[0] + '"';
           jsnstr += ',"ref":"' + uprar[1] + '"';
           jsnstr += ',"name":"' + uprar[2] + '"';
           jsnstr += ',"lnk":"' + uprar[3] + '"';
        jsnstr += '}';
    }
    jsnstr = '[' + jsnstr.substr(1) + ']';

return jsnstr;
}

function get_current_info(){
    var mems='',trobj,rezar,uprar,numupr,resupr,kaupr,tiupr,cell,values,user,tabl,grupp,usernic,stat=0;
     //jQuery('#tb_mainpanel > tr').each(function(){mems += ',' + jQuery(this).children('td').eq(0).attr('us');});mems = mems.substr(1);
         if(jQuery('#tb_mainpanel').children('tr').length==0)stat = 1;
        grupp = jQuery('select#selgr').val();
      var url = base_url + '/?aj=1&plg=lsn&op=admupd&ngr='+ grupp + '&st=' + stat;
    jQuery('#service').find('.loadpic').css('display','inline');
    jQuery.getJSON(url,function(jsn){
    jQuery('#service').find('.loadpic').css('display','none');
         for(var i=0;i<jsn.length;i++){
          trobj = jsn[i]['stud'];
        for (var trkey in trobj) {
            switch (trkey){
           case "user":
         user = trobj['user'];
         usernic = trobj['usernic'];
               if(usernic == 'undefined' || usernic == undefined)usernic = '<a href="#" onclick="jvascript:get_nic(\'' + user +'\');">Найти ник</a>';
     if(jQuery("td[us='" + user + "']").length==0){ //если юзера с таким значением атрибута us нет
     tabl =  '<tr><td us="' + trobj['user'] + '"><input type="checkbox" class="mc"><span class="mar">'
      + '<img src="http://webuniver/wp-content/plugins/courses/style/images/upel_img/fazel.png">'
      + '</span><span class="marsh"></span>'
      + '</td><td style="color:blue;font-weight:bold;">' + trobj['usernic'] + '</td><td></td></tr>';
     jQuery('#tb_mainpanel').append(tabl);
     
     }

                 break;




              case "result":
                rezar = trobj['result'].split('@');

            jQuery('#tb_mainpanel > tr').each(function(r){
                  if(user == jQuery(this).children('td').eq(0).attr('us')){
                          //row = jQuery('#tb_mainpanel >tr').eq(r);
                        cell = jQuery('#tb_mainpanel >tr').eq(r).children('td').eq(2);
                        return false;
                    }
          });

                  if(cell.length>0){
                            for(var m=0;m<rezar.length;m++){
                         if(rezar[m].length!=0){
                    uprar = rezar[m].split('i');
                     numupr = uprar[0];
                     resupr = uprar[1];
                     kaupr =  uprar[2];
                     tiupr =  uprar[3];

                    //values = [resupr,kaupr,tiupr];
              values = [0,100,resupr,kaupr,tiupr];
            cell.append('<span></span>');
           //cell.find('span:last').sparkline(values,{type:'bar',heght:'50px'});

           cell.find('span:last').sparkline(values,{type:'bar'});
                         }
                         }
                  }



                 break;  
                   }
        }
        }

    });

    /*
    var myvalues;
myvalues = [0,13,120,91,18];
        jQuery('#tb_mainpanel > tr').eq(0).children('td').eq(1).find('span').sparkline(myvalues,{type: 'bullet', width:'120px', rangeColors: ['red','yellow','green']});
    myvalues = [0,22,240,80,64];
        jQuery('#tb_mainpanel > tr').eq(1).children('td').eq(1).find('span').sparkline(myvalues,{type: 'bullet', width:'240px', rangeColors: ['red','yellow','green']});
      */
}

function show_marshrut(){
var lf,tp,ofs,im,usr,mrar,grupp;
    jQuery('#marshrut').find('.loadpic').css('display','inline');
    im = jQuery('.selrow');
    grupp = jQuery('select#selgr').val();
   ofs = im.offset();
lf = ofs.left + 4; tp = ofs.top+14;
    jQuery('#marshrut').css({display:'block',left:lf,top:tp,width:'300px',height:'200px'});
    /*mr = im.parent().find('.marsh').html();if(mr.length>0){mrar = mr.split('@');*/
    usr = jQuery('.selrow').parent().attr('us');

    jQuery.ajax({
       url:base_url+'/?aj=1&plg=lsn&op=gpath&usr='+usr + '&ngr=' + grupp,
       type:'GET',
       success:function(mr){
    jQuery('#marshrut').find('.loadpic').css('display','none');
            mrar = mr.split('@');
           for(var m=0;m<mrar.length;m++){
            jQuery('#marbody').append('&nbsp;<span class="idnum">' + mrar[m] + '</span><br />');
        }
       }
    });
   }

function close_marshrut(){
   jQuery('#marbody').empty();
   jQuery('#marshrut').css({display:'none',left:'0',top:'0'});
   close_toolbox(); 
   }

function show_toolbox(){
var lf,tp,ofs,im;
    im = jQuery('.selres');
   ofs = im.offset();
lf = ofs.left + 4; tp = ofs.top+14;
    jQuery('#toolbox').css({display:'block',left:lf,top:tp});
}

function close_toolbox(){
  jQuery('#toolbox').css({display:'none',left:'0',top:'0'});
}

//jQuery('#paninfo_body').
function show_info(){
var lf,tp,ofs,im;
    im = jQuery('.selnod');
   ofs = im.offset();
lf = ofs.left + 10; tp = ofs.top+16;
jQuery('#paninfo').css({display:'block',left:lf,top:tp});
}

function close_info(){
 jQuery('#paninfo_body').empty();
 jQuery('#paninfo').css({display:'none',left:'0',top:'0'});
}

function check_them_all(){
    if(jQuery('#sp_check_all').hasClass('minus')){
        jQuery('#sp_check_all').removeClass('minus').addClass('plus').html('Снять');
        jQuery('.mc').attr('checked', true);

    }else{
       jQuery('#sp_check_all').removeClass('plus').addClass('minus').html('Отмет');
        jQuery('.mc').attr('checked', false);
    }
}
function make_idnt(oper){
    var ht,idn;
    if(oper!=='del'){

        if(jQuery('.selnod').length>0){
                    //todo переделать в формате общей   нумерации
    idn = jQuery('.selnod').parent().parent().attr('idn');
    
    ht = '<span class="idnum">' + idn + '</span>';

        }else{
          alert('Выберите в дереве ресурс, который вы хотите добавить в маршрут');
        }
    }


switch (oper){
     case 'add':jQuery('#marbody').append(ht+ '<br />');break;
     case 'repl':jQuery('.selres').html(idn);break;
     case 'inaf':jQuery('.selres').after('<br />' + ht);break;
     case 'del':jQuery('.selres').remove();break;
}
}
function save_marshrut(){
    var usr,idf='',dat,grupp;
  //maco = jQuery('.selrow').parent().find('.marsh');
    grupp = jQuery('select#selgr').val();
    jQuery('div#marshrut').find('.loadpic').css('display','inline');
    usr = jQuery('.selrow').parent().attr('us');
    jQuery('#marbody > span').each(function(){
        idf += '@' + jQuery(this).html();
      });
    idf = idf.substr(1);
    dat = {path:idf};
    jQuery.ajax({
        url:base_url +'/?aj=1&plg=lsn&op=updpath&usr=' + usr,
        type:'POST',
        data:dat,
        success:function(msg){
            jQuery('div#marshrut').find('.loadpic').css('display','none');
            jQuery('#marbody').prepend(msg+'<br />');
        }});
}
function add_users_group(mod){
    var ht='',obj;
    switch (mod){
    case "0":
        ht += 'Введите номер группы&nbsp;<input id="nomgr" style="width:20px;"><br><br>';
        ht += '<button onclick="add_users_group(\'1\')">Сохранить</button>';
        jQuery('#modalwin').css({width:'200px',height:'100px'});
        jQuery('#modalwin_content').append(ht);
        obj = {sref:'#modalwin'};
        open_modal('0',obj);
        break;

    case "1":
           //todo реализовать передачу курса

        if(jQuery('#nomgr').val().length>0){
            ht = jQuery('#nomgr').val();

            jQuery('.closeimg').click();
      jQuery.ajax({
          url:base_url + '/?aj=1&plg=lsn&kur=2&op=agru&grn=' + ht,
          type:'GET',
          success:function(msg){

              if(msg.indexOf('уже')==-1){
      jQuery('#selgr').append(jQuery('<option value="' + ht + '">' + msg + '</option>'));
            alert('Группа сохранена');
              }else{
                alert('Группа уже внесена ранее')  
              }
          }
        });
      }else{alert('Введите номер группы');}
    break;
    }
}
function activate_group(){
    var grn = jQuery('select#selgr').val();
    if(grn != '-1'){

        jQuery.ajax({
            url:base_url + '/?aj=1&plg=lsn&op=usact&grn='+grn,
            type:'GET',
            success:function(){
            jQuery('#butactgru').attr('disabled',true).html('Активирована');
       }
        });

    }else{
   alert('Выберите группу для активации');
    }
}
function adopt_student(mod,dop){
    var ht='';
    switch(mod){
    case "0":

         ht += 'ID студента&nbsp;<input id="studid" style="width:20px;"><br>';
         ht += 'Логин студента&nbsp;<input id="studnic" style="width:50px;"><br><br>';
        ht += '<button onclick="adopt_student(\'1\')">Сохранить</button>';
        jQuery('#modalwin').css({width:'200px',height:'100px'});
        jQuery('#modalwin_content').append(ht);
        obj = {sref:'#modalwin'};
        open_modal('0',obj);

    break;
    case "1":
            var sid,nic,std,gru;
if(jQuery('#studid').val().length>0 || jQuery('#studnic').val().length>0){
            sid = jQuery('#studid').val();
            nic = jQuery('#studnic').val();
           jQuery('.closeimg').click();
    if(nic.length>0)ht = 'n@'+nic;
    if(sid.length>0)ht = 's@'+sid;
    jQuery.ajax({
          url:base_url + '/?aj=1&plg=lsn&kur=1&op=astu&faz=0&std=' + ht,
          type:'GET',
          success:function(msg){
              std = msg.split('#');
              sid = std[0];nic=std[1],gru=std[2];
      if(confirm('Вы действительно хотите добавить студента ' + nic + ' в группу ' + gru + '?'))
          var obj = {sid:sid,nic:nic,gru:gru};
          adopt_student('2',obj);
          }
        });
      }else{alert('Введите ID или логин студента');}
    break;
    case "2":
        jQuery.ajax({
      url:base_url + '/?aj=1&plg=lsn&kur=1&op=astu&faz=1&sid=' + dop.sid + '&gru='+dop.gru,
      type:'GET',
      success:function(resp){
              alert(resp);
      }
        });
    break;
    }
}
function lesson_closer(){
      var gru;  if(jQuery('#butactgru').attr('disabled')){
    if(confirm('ВЫ ДЕЙСТИТЕЛЬНО ХОТИТЕ ЗАВЕРШИТЬ УРОК? УДАЛИТЬ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ ИЗ ТАБЛИЦЫ УРОКА?')){
           gru = jQuery('select#selgr').val();
        if(gru!='-1'){
        jQuery.ajax({
            url:base_url + '/?aj=1&plg=lsn&op=closes&gru='+ gru,
            type:'GET',
            success:function(){
                jQuery('#tb_mainpanel').empty();
                jQuery('#butactgru').attr('disabled',false).html('Активировать группу');
                
            }
        });
    }else{
        alert('Не выбрана группа которую нужно отключать');    
        }
     }
    }   
}
function get_nic(usr){
    jQuery.ajax({
       url:base_url + '/?aj=1&plg=lsn&op=gnc&usr='+usr,
       type:'GET',
        success:function(response){
 jQuery("td[us='" + usr + "']").html(response);
        }
    });
}
